Code Division Multiple Access (CDMA) has been extensively used in such applications as cellular and satellite communications. CDMA signals increase the spectrum required for the transmission of a particular data rate by modulating each information symbol with a spread spectrum code having a rate larger than the data rate. The same spreading code is used for each information symbol. Typically, the spreading code includes a few tens or a few hundreds elements, called chips, and is chosen from the set of orthogonal (Walsh) codes of the given code length. To decrease the correlations among spreading codes assigned to different users and thereby reduce the interference among different users, the data stream after spreading is typically scrambled with a pseudonoise (PN) code that is generated serially and cyclically and has a larger period than the spreading code. PN codes have considerably better correlation properties than orthogonal codes. Examples of such CDMA signal spreading are the schemes used by the IS-95/CDMA2000 and Wideband Code Division Multiple Access (WCDMA) systems.
With CDMA, the signals from all users simultaneously occupy the same frequency band. The receiver discriminates the multiple signals by exploiting the properties of the spreading and scrambling codes that are applied to the signal of each user. The receiver attempts to match in time with the codes of the desired signal a replica of those spreading and scrambling codes. Only then is the demodulation result meaningful; otherwise it appears noise-like. Thus, if the arriving signals have different codes or different code offsets, they can be discriminated at the receiver.
In the downlink of cellular communication systems, i.e. the communication from base stations to mobile terminals, the wireless channel may introduce multipath propagation. Even if the signals transmitted by the base station are spread using orthogonal codes (Walsh codes), the multipath propagation will destroy the orthogonality and produce Multiple-Access Interference (MAI). In the uplink (i.e., the communication from mobile terminals to base stations), the signals are asynchronously transmitted. Orthogonality in this case cannot be achieved and each user's signal will experience MAI.
Interference cancellation (IC) attempts to suppress the MAI by estimating and subtracting the contribution of each interferer from the received signal. Because the capacity of CDMA systems is MAI limited, estimating and canceling the MAI will increase the capacity. Alternatively, IC can reduce the signal-to-noise ratio (SNR) required to achieve a specific symbol-error-rate (SER) value for a specific number of users, thereby increasing battery life and decreasing transmission power or increasing the communication range.
The challenge in the implementation of IC is that it may have to be performed for many code signals (and their multipath components) at the symbol rate or faster. The associated computation and data storage requirements can place a significant burden on the overall receiver design, not to mention the increase in design cost.
The prevailing considerations governing the implementation of IC are complexity and performance with the former being the dominant consideration. One prior art implementation is to perform IC by regenerating the MAI based on a tentative decision for each user, the channel medium estimates and delays of the associated multipaths, and the spreading and scrambling codes. The regenerated MAI is then subtracted from the received signal before despreading. Another prior art approach that avoids signal regeneration is based on the computation of the code cross-correlations among all signals and multipaths. The effect of MAI on the despread signal can then be evaluated and removed. For K users and L multipaths per user's transmitted signal, this approach results in complexity proportional to (KL)2 while the approach based on signal respreading can have complexity proportional to (KL) as it will be later discussed. Both approaches offer theoretically the same performance.
In addition to IC, MAI suppression can be achieved using linear Multiuser Detection (MUD) methods such as the decorrelating and the Minimum-Mean-Squared Error (MMSE) detectors. With the exception of IC using signal regeneration, all other approaches require knowledge of the code cross-correlations for all signal multipaths of all users. In the case of a long scrambling code having a considerably larger period than the data symbol period (e.g. by a factor of 1000 or more), the code cross-correlations computations need to be performed every symbol period. The total number of code cross-correlations is proportional to the square of the product of the number of interferers and the number of multipaths (KL)2. The decorrelating and MMSE detectors need to invert a code cross-correlation matrix with size proportional to the product of the observation window size, the number of users and the number of multipaths per user's signal. Because matrix inversion has cubic complexity relative to the matrix size, the decorrelating and MMSE detectors are not practical choices in CDMA systems employing long codes. IC based on code cross-correlation computations suffers from similar complexity drawbacks because it requires an equal number of code cross-correlation computations as the decorrelating and MMSE detectors. It also needs to perform the same number of interference subtractions as the computed code cross-correlations. Performing these computations at the symbol rate will substantially increase the corresponding receiver complexity relative to the complexity of a receiver that does not perform multi-user detection or IC.
A CDMA system employing short scrambling codes with a period a few times larger than the symbol period, e.g. 8 times, can alleviate the computational requirements of MUD/IC. This is because the code cross-correlations have the same values after every scrambling code period and have to be recomputed only when there is a change in the MAI such as a user signal or multipath being added or deleted, an existing multipath changing its arrival time, etc. Those changes occur at a rate that is much slower than the symbol rate. Nevertheless, the complexity order is still comparable with the one described for long codes, with the only exception that computations related to the evaluation of code cross-correlations are performed at a slower rate.
The implementation alternatives for IC are the Parallel IC (PIC) and the Serial IC (SIC). With PIC, all users are simultaneously demodulated, a tentative decision is made for their information symbols, the MAI is regenerated and the process is repeated a number of times until all significant improvements in the Frame-Error-Rate (FER) performance are achieved. With SIC, a similar process is performed with the exception that a decision on the stronger user is first made, the interference from that user on the decision statistic of the next stronger user is subsequently removed and a decision for the next stronger user is made, etc.
The main advantage of SIC relative to PIC is that the decision for the stronger users is more reliable than the decision for the weaker ones and therefore, the MAI removal of the stronger users is reliable and this benefits the weaker users. The main disadvantage of SIC relative to PIC is the decision delay associated with SIC because of its serial nature and the architecturally difficult re-ordering of the detection process each time the relative signal strengths change. There are also several modifications that can be applied to the IC process. For example, the decisions made at each IC stage can be hard, soft, clipped or threshold-based, the estimated IC can be weighted to account for the bias that exists in the decisions and for the reliability of the individual decisions depending on the IC stage.
The complexity of PIC can be made linear with the number of users and multipaths by using PIC with signal regeneration as suggested in an article entitled “Real-Time DSP Implementation of a Coherent Partial Interference Cancellation Multiuser Receiver for DS-CDMA”, pages 1536-1540, ICC 1998, by N. S. Correal, et al. Each user has its multipath signals regenerated, time adjusted by their corresponding delays, and then added to construct the estimated MAI before despreading. Since this MAI estimate contains all signals subtracting it from the received signal will also cancel the contribution of the desired user's multipath component and therefore the estimated desired user's multipath component should also be added. The estimated MAI term is common for all users and only the desired user's estimated multipath contribution needs to be individually added for each multipath. This is the reason for the complexity reduction from quadratic to linear with the number of users and multipaths. By subtracting the estimated MAI from the received signal, despreading and then adding the estimated desired signal path to effectively remove its presence from the estimated MAI, all signals interfering with the desired signal path are eliminated from the detection of the desired signal. This assumes that the estimated MAI is correct which in turn requires a correct tentative data decision and accurate channel medium and delay estimates. The exemplary embodiment of this invention considers PIC.
The exemplary setup in FIG. 1 describes a conventional receiver (Rake receiver), as it is well known in the art, for K users with L multipaths per user's signal. It includes a plurality of despreading means, a plurality of timing means, a plurality of spread spectrum processing means, and a plurality of adding means. The signal, which is the superposition of KL signal paths and noise, is received at antenna 10 and is subsequently downconverted and digitized by a down converter 20 and an analog-to-digital (A/D) converter 30 respectively. The searcher 40 identifies L or more paths for each of the K users. Subsequently, L paths for each user's signal are passed to despreaders 51, 52, etc. Notice that L is generally different for each user. Each despreader (or finger) uses a replica of the spread spectrum code of the particular user's code that is appropriately delayed in time to synchronize with the corresponding multipath. The lth despreader output for the lth path of the kth user is denoted as Dk,l.
The plurality of despreaders is shown as 1st despreader through Kth despreader. Each despreader includes a chip-code signal generator, a modulo-2 adder and a summer (not shown). In addition to the despread signal paths, the despreader (possibly together with another unit) also provides a channel medium estimate for all multipaths of each user's signal (Ck,l, . . . , Ck,L for user k). The channel medium estimates are needed by the conventional receiver to combine the multipaths and by the IC to regenerate the despread signals. After despreading, the multipath signals for each user and the corresponding channel medium estimates are provided to decision devices, 61, 62, which in the exemplary embodiment comprises a Rake receiver. The Rake receiver performs maximal ratio combining (MRC) on the multipaths of each user's signal and provides a decision d0l 63, d0K 64 for the corresponding information symbol. The decision can be either hard or soft and, for the purposes of IC, it can be either clipped (the soft value is clipped at −1 and +1 for binary transmission) or thresholded (e.g., similar to the clipped one but the soft decision is set to zero if its absolute value is smaller than a threshold). For a receiver employing IC, the Rake decisions constitute the initial decisions and are subsequently provided to the IC system. In an alternate design, the initial decisions can be made with an equalizer circuit.
FIG. 2 describes the regeneration process of the signal at the input of the receiver after digitization. Based on the (possibly modified) decisions from the Rake receiver of each user (or another receiver such as a MUD or an equalizer), the IC system first regenerates in the plurality of respread channel blocks 71, 72 the signal from each transmitter by spreading the decision 63, 64 for each user with the corresponding spread spectrum chip code (CDMA code). Different users may have different spread spectrum chip codes. Subsequently, to account for the channel medium effects on each user's multipath signals, the respread signal is multiplied with the channel medium estimate for each multipath using blocks 81-84 and time delayed by the corresponding multipath delay using delay blocks 91-94. Adder 100 sums all multipaths for the signals of all users and the result 102 is an estimate of the signal at the input of the receiver before despreading.
Since the regenerated received signal contains the received signal for each user, its subtraction from the originally received signal will not only remove the interference relative to a desired user but it will also remove the signal of that user. Therefore, for the demodulation of a particular user's signal, the estimated signal for that user (including the multipaths) should be added to the received signal estimate that is commonly utilized by all users. This can be done prior to, or after, despreading with the second option being the more efficient one since it requires substantially less operations. The estimated signal of each user, including possible multipaths, after despreading is simply given by the estimated information data multiplied with the channel medium response estimate for each multipath. FIG. 3 describes these corresponding operations using devices 111-114 one for each of the multpaths.
The conventional (prior art) approach to perform IC is to subtract the estimated regenerated signal from the received signal before despreading. This IC approach is depicted in FIG. 4. In subtractor 120, the regenerated signal estimate 102 is subtracted from the received signal 101. Conventional despreading for each identified multipath of each user follows in the plurality of finger blocks 131-134. The desired user multipath component for each multipath is added in the plurality of adder blocks 141-144. Finally, in the plurality of Rake combiner blocks 151, 152, the multipaths are combined by a Rake combiner and a decision signal 153, 154 for the information symbol of each user is produced. The IC process is then repeated several times (IC stages) and typically 3 or 4 IC stages are enough to achieve essentially all performance gains. The regenerated signal at each stage may be weighted (scaled) with different weights having values smaller than or equal to one. This is done in order to remove a decision bias and to reflect that the decisions at the latter IC stages are more reliable. This approach was suggested in U.S. Pat. No. 5,553,062 entitled “Spread Spectrum CDMA Interference Canceller System and Method”, by D. L. Schilling, et. al.
For the kth user, denoting by wk, ck,l, and dk, the spread spectrum code, the channel estimate of the lth path and the data decision, respectively, the equation describing the despread signal   D      k    ,    l        (    i    )  at the ith IC stage (i>0) is                               D                      k            ,            l                                (            i            )                          =                                            w              k              T                        ⁡                          [                                                r                  _                                -                                  (                                                            ∑                                                                        k                          ′                                                ,                                                  l                          ′                                                                                      ⁢                                                                  w                                                  k                          ′                                                                    ⁢                                              c                                                                              k                            ′                                                    ,                                                      l                            ′                                                                                              ⁢                                              d                                                  k                          ′                                                                          (                                                      i                            -                            1                                                    )                                                                                                      )                                            ]                                +                                                    c                _                                            k                ,                l                                      ⁢                                          d                k                                  (                                      i                    -                    1                                    )                                            .                                                          (        1        )            
A problem with the IC approach used in FIG. 4 is its computational complexity. The memory size required with the above approach is proportional to NsNc, where Nc is the number of chips per information signal and Ns is the number of samples per chip, and therefore a large amount of memory is required. A need thus exist in the art for a method and apparatus that can provide IC with reduced complexity and reduced memory requirements as compared to the prior art IC techniques.